Skip to content

SOLAPI Node.js SDK 6.0.0-beta#115

Merged
Palbahngmiyine merged 1 commit intosolapi:betafrom
Palbahngmiyine:feat/v6-effect-migration
Apr 8, 2026
Merged

SOLAPI Node.js SDK 6.0.0-beta#115
Palbahngmiyine merged 1 commit intosolapi:betafrom
Palbahngmiyine:feat/v6-effect-migration

Conversation

@Palbahngmiyine
Copy link
Copy Markdown
Member

기능 변경사항

  • 모든 타입과 스키마를 외부로 export하도록 변경했습니다.
  • Effect 라이브러리 기반으로 전체 서비스를 마이그레이션했습니다.
    • Data.TaggedError 기반 에러 처리 통일
    • Effect.gen + Effect.tryPromise 비동기 처리
    • Effect Schema 기반 입력 검증
  • runSafePromise() / runSafeSync() Promise 변환 유틸을 도입했습니다.
  • authenticator를 Effect.try로 래핑하고 unwrapCause를 추출했습니다.
  • finalize 함수 Defect 방지 및 Kakao 입력 검증을 추가했습니다.
  • dateType 조건부 기본값, storageService TaggedError를 적용했습니다.
  • ClientError/ServerError 에러 ID 보존 및 패턴 일관성을 개선했습니다.

프로젝트 내부 변경사항

  • 테스트 환경변수를 Python SDK와 통일했습니다. (SOLAPI_ 접두사)
  • pnpm-lock.yaml 의존성 버전을 동기화했습니다.
  • CLAUDE.md 및 AGENTS.md 문서를 재구성했습니다.
  • effectErrorHandler, schemaUtils, getGroupsRequest, getMessagesRequest 테스트를 추가했습니다.
  • UnhandledExitError 및 Promise Defect 경로 테스트를 추가했습니다.
  • 하위 디렉토리 AGENTS.md 파일을 정리했습니다. (루트 AGENTS.md로 통합)

Test plan

  • 전체 유닛 테스트 통과 확인 (255 tests)
  • 빌드 성공 확인 (CJS/ESM/DTS)
  • beta npm 배포 후 기능 동작 테스트
  • Effect 파이프라인 에러 전파 확인

🤖 Generated with Claude Code

BREAKING CHANGE: 전체 API를 Effect 라이브러리 기반으로 마이그레이션

- 모든 타입과 스키마를 외부로 export
- Data.TaggedError 기반 에러 처리 통일
- Effect.gen + Effect.tryPromise 비동기 처리
- Effect Schema 기반 입력 검증
- runSafePromise()/runSafeSync() Promise 변환 유틸 도입
- authenticator를 Effect.try로 래핑
- finalize Defect 방지 및 Kakao 입력 검증
- 테스트 환경변수 SOLAPI_ 접두사 통일
- effectErrorHandler, schemaUtils, getGroupsRequest, getMessagesRequest 테스트 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Palbahngmiyine Palbahngmiyine merged commit 7077d5e into solapi:beta Apr 8, 2026
3 checks passed
@Palbahngmiyine Palbahngmiyine deleted the feat/v6-effect-migration branch April 8, 2026 03:38
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request represents a major update to version 6.0.0, refactoring the SDK to leverage the Effect library for robust functional programming and runtime schema validation. The changes include a comprehensive migration of models to Effect Schema, the introduction of standardized error handling patterns, and the refactoring of core services and utilities to support Effect-based asynchronous flows. Feedback was provided regarding a typo in the documentation for a utility filename.

| `authenticator.ts` | HMAC-SHA256 auth header |
| `stringifyQuery.ts` | URL query string builder (array handling) |
| `fileToBase64.ts` | File/URL → Base64 |
| `stringDateTrasnfer.ts` | Date parsing with `InvalidDateError` |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

파일명에 오타가 있습니다. stringDateTrasnfer.tsstringDateTransfer.ts가 되어야 합니다.

Suggested change
| `stringDateTrasnfer.ts` | Date parsing with `InvalidDateError` |
| `stringDateTransfer.ts` | Date parsing with `InvalidDateError` |

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant